Remarks on Krivine's " Lambda-calculus, Types and Models " , Chapter 1, §2
نویسنده
چکیده
The point of this note is to 1) add some lemmata to Chapter 1 §2 of [1] (lemmata that are used in [1] without mention, due to their intuitive obviousness); 2) show that the definition of α-equivalence given in [1] is equivalent to the definition of α-equivalence given in some other sources; 3) prove some rules for substitution (in order to answer a MathOverflow question of myself). We are going to use the notations and the results of Chapter 1 of [1]. In particular, the sign ≡ will stand for the α-equivalence defined in [1]. The different notion of α-equivalence that we consider will be denoted by = α (in order not to confuse it with ≡ as long as it is not yet proven that the two notions are equivalent). Here come several facts silently used in some proofs in §1.2 of [1]. These facts are all pretty simple, intuitively clear and easy to prove, and I suspect this is why they have not been explicitly stated in [1]. I am making them explicit and proving them in detail in order to formalize the theory a little bit more. We begin with some properties of bound variables (and their behaviour under substitution). Definition: If u is a term in L, let BV u denote the set of bounded variables of the term u. Before we continue, let us give an inductive method to compute BV u for a term u: If u = x for a variable x, then BV u = ∅. If u = (v) w for terms v and w, then BV u = (BV v) ∪ (BV w). If u = λxv for some variable x and some term v, then BV u = {x} ∪ (BV v). Proof of Lemma 1.A. We proceed by induction over t: If t is a variable or a term of the form (u) v, the induction step is clear. Remains to consider the case when t = λxu for some variable x and some term u. In this case, BV t = {x} ∪ (BV u). There are two subcases to consider: the subcase when x ∈ {x 1 , .
منابع مشابه
Classical Logic, Continuation Semantics and Abstract Machines
One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exempliied in a tutorial way by studying the case of extensional untyped call-by-name-calculus with Felleisen's control operator C. We derive the transition rules for an abstract machine from a continuation semant...
متن کاملBöhm Trees, Krivine's Machine and the Taylor Expansion of Lambda-Terms
We introduce and study a version of Krivine’s machine which provides a precise information about how much of its argument is needed for performing a computation. This information is expressed as a term of a resource lambda-calculus introduced by the authors in a recent article; this calculus can be seen as a fragment of the differential lambda-calculus. We use this machine to show that Taylor e...
متن کاملDeriving a Lazy Abstract Machine
We derive a simple abstract machine for lazy evaluation of the lambda calculus, starting from Launchbury's natural semantics. Lazy evaluation here means non-strict evaluation with sharing of argument evaluation, that is, call-by-need. The machine we derive is a lazy version of Krivine's abstract machine, which was originally designed for call-by-name evaluation. We extend it with datatype const...
متن کاملSome Remarks on Control Categories
This paper is a collection of remarks on control categories, including answers to some frequently asked questions. The paper is not self-contained and must be read in conjunction with [3]. We clarify the definition of response categories, and show that most of the conditions can be dropped. In particular, the requirement of having finite sums can be dropped, leading to an interesting new CPS tr...
متن کاملThe Calculus of Constructions and Higher Order Logic
The Calculus of Constructions (CC) ([Coquand 1985]) is a typed lambda calculus for higher order intuitionistic logic: proofs of the higher order logic are interpreted as lambda terms and formulas as types. It is also the union of Girard's system F ! ([Girard 1972]), a higher order typed lambda calculus, and a rst order dependent typed lambda calculus in the style of de Bruijn's Automath ([de Br...
متن کامل